package com.yuesystem.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuesystem.dto.requestbody.AreaRequestBody;
import com.yuesystem.dto.responsebody.AcademyNumberResponseBody;
import com.yuesystem.entity.Academy;

import java.util.List;

/**
 * 书院接口.
 */
public interface AcademyService extends IService<Academy> {
  
  /**
   * 增加书院.
   */
  boolean add(Academy office);

  /**
   * 根据书院名字查询对应的ID号.
   *
   * @param name 书院名字
   * @return 书院条目id列表
   */
  List<Long> getByName(String name);


  /**
   * 根据搜索框中的名称进行查询.
   *
   * @param name 搜索框内容
   * @return 书院类列表
   */
  List<Academy> search(String name);

  /**
   * 获得中国七大地区分布.
   *
   * @return 地区分布响应类列表
   */
  List<AreaRequestBody> getByArea();

  /**
   * 获得每个省的书院分页结果.
   *
   * @param page 起始页
   * @param pageSize 页数
   * @param province 省份
   * @return 书院类分页
   */
  Page<Academy> getPage(int page, int pageSize, String province);

  /**
   * 获得各个省份书院的数量.
   *
   * @return 书院数量响应类列表
   */
  List<AcademyNumberResponseBody> getNumber();
}
